import java.util.Scanner;

public class Test {
    //递归求解汉诺塔问题
    public static void main(String[] args) {
        hanoi(1,'A','B','C');
        System.out.println();
        hanoi(2,'A','B','C');
        System.out.println();
        hanoi(3,'A','B','C');
    }
    public static void move(char pos1,char pos2){
        System.out.println(pos1+"->"+pos2+" ");
    }
    public static void hanoi(int n,char pos1,char pos2,char pos3){
        if(n==1){
            move(pos1,pos3);
        }
        else{
            hanoi(n-1,pos1,pos3,pos2);
            move(pos1,pos3);
            hanoi(n-1,pos2,pos1,pos3);
        }

    }
    //在同一个类中定义多个方法：要求不仅可以求2个整数的最大值，还可以求3个小数的最大值
    public static void main3(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int a=scanner.nextInt();
        int b=scanner.nextInt();
        int c=scanner.nextInt();
        int ret=maxer(a,b);
        System.out.println(ret);
        int tep=maxer2(a,b,c);
        System.out.println(tep);
    }
    public static int maxer(int x,int y){
        if(x>y){
            return x;
        }
        else{
            return y;
        }
    }
    public static int maxer2(int x,int y,int z){
        if(x>y){
            if(x>z){
                return x;
            }
            else{
                return z;
            }
        }
        else{
            if(y>z){
                return y;
            }
            else{
                return z;
            }
        }
    }
    //在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码，求出结果
    public static void main2(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int a=scanner.nextInt();
        int b=scanner.nextInt();
        double f1=scanner.nextDouble();
        double f2=scanner.nextDouble();
        double f3=scanner.nextDouble();
        int ret=add1(a,b);
        System.out.println(ret);
        double add=add2(f1,f2,f3);
        System.out.println(add);
    }
    public static int add1(int x,int y){
        return x+y;
    }
    public static double add2(double x,double y,double z){
        return x+y+z;
    }
    //创建方法求两个数的最大值max2，随后再写一个求3个数的最大值的函数max3。
   // 要求：在max3这个函数中，调用max2函数，来实现3个数的最大值计算
    public static void main1(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int a=scanner.nextInt();
        int b=scanner.nextInt();
        int c=scanner.nextInt();
        int ret=max2(a,b);
        System.out.println(ret);
        int maxer=max3(ret,c);
        System.out.println(maxer);
    }
    public static int max2(int x,int y){
        if(x>y){
            return x;
        }
        else{
            return y;
        }
    }
    public static int max3(int x,int y){
        if(x>y){
            return x;
        }
        else{
            return y;
        }
    }
}
